import scrapy 
from scrapy.crawler import CrawlerProcess 
from myspider.spiders.gzzyjson import GzzyjsonSpider
import argparse
from datetime import datetime

# 创建命令行参数解析器
parser = argparse.ArgumentParser(description='运行爬虫并传入 start_date 参数')
# 添加 --start_date 可选参数
parser.add_argument('--start_date', type=str, help='开始日期，格式：YYYY-MM-DD，可选参数')

# 解析命令行参数
args = parser.parse_args()
start_date = args.start_date

if start_date:
    try:
        # 将输入的日期转换为指定格式
        date_obj = datetime.strptime(start_date, '%Y-%m-%d')
        start_date = date_obj.strftime('%Y-%m-%d 00:00:00')
    except ValueError:
        print("输入的日期格式不正确，请使用 YYYY-MM-DD 格式。")
        exit(1)

try:
    # 创建 CrawlerProcess 实例
    process = CrawlerProcess()

    # 添加要运行的爬虫，start_date 作为可选参数传入
    if start_date:
        process.crawl(GzzyjsonSpider, start_date=start_date)
    else:
        process.crawl(GzzyjsonSpider)

    # 启动爬虫
    process.start()
except Exception as e:
    print(f"爬虫启动过程中出现错误: {e}")

# pyinstaller --add-data "/python/scrapy/myspider:myspider" --add-data "/python/scrapy/scrapy.cfg:." --onefile linux-main.py -n gzzy-scrapy
# run gzzy-scrapy --start_date 2023-08-01